﻿<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
  
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Class MultiDictionaryBase&lt;TKey, TValue&gt;
   </title>
    <meta name="viewport" content="width=device-width">
    <meta name="title" content="Class MultiDictionaryBase&lt;TKey, TValue&gt;
   ">
    <meta name="generator" content="docfx 2.56.4.0">
    
    <link rel="shortcut icon" href="../favicon.ico">
    <link rel="stylesheet" href="../styles/docfx.vendor.css">
    <link rel="stylesheet" href="../styles/docfx.css">
    <link rel="stylesheet" href="../styles/main.css">
    <meta property="docfx:navrel" content="../toc.html">
    <meta property="docfx:tocrel" content="toc.html">
    
    
    
  </head>
  <body data-spy="scroll" data-target="#affix" data-offset="120">
    <div id="wrapper">
      <header>
        
        <nav id="autocollapse" class="navbar navbar-inverse ng-scope" role="navigation">
          <div class="container">
            <div class="navbar-header">
              <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
              </button>
              
              <a class="navbar-brand" href="../index.html">
                <img id="logo" class="svg" src="../logo.svg" alt="">
              </a>
            </div>
            <div class="collapse navbar-collapse" id="navbar">
              <form class="navbar-form navbar-right" role="search" id="search">
                <div class="form-group">
                  <input type="text" class="form-control" id="search-query" placeholder="Search" autocomplete="off">
                </div>
              </form>
            </div>
          </div>
        </nav>
        
        <div class="subnav navbar navbar-default">
          <div class="container hide-when-search" id="breadcrumb">
            <ul class="breadcrumb">
              <li></li>
            </ul>
          </div>
        </div>
      </header>
      <div role="main" class="container body-content hide-when-search">
        
        <div class="sidenav hide-when-search">
          <a class="btn toc-toggle collapse" data-toggle="collapse" href="#sidetoggle" aria-expanded="false" aria-controls="sidetoggle">Show / Hide Table of Contents</a>
          <div class="sidetoggle collapse" id="sidetoggle">
            <div id="sidetoc"></div>
          </div>
        </div>
        <div class="article row grid-right">
          <div class="col-md-10">
            <article class="content wrap" id="_content" data-uid="Wintellect.PowerCollections.MultiDictionaryBase`2">
  
  
  <h1 id="Wintellect_PowerCollections_MultiDictionaryBase_2" data-uid="Wintellect.PowerCollections.MultiDictionaryBase`2" class="text-break">Class MultiDictionaryBase&lt;TKey, TValue&gt;
  </h1>
  <div class="markdown level0 summary"><p>MultiDictionaryBase is a base class that can be used to more easily implement a class
that associates multiple values to a single key. The class implements the generic
IDictionary&lt;TKey, ICollection&lt;TValue&gt;&gt; interface.</p>
</div>
  <div class="markdown level0 conceptual"></div>
  <div class="inheritance">
    <h5>Inheritance</h5>
    <div class="level0"><span class="xref">System.Object</span></div>
    <div class="level1"><a class="xref" href="Wintellect.PowerCollections.CollectionBase-1.html">CollectionBase</a>&lt;<span class="xref">System.Collections.Generic.KeyValuePair</span>&lt;TKey, <span class="xref">System.Collections.Generic.ICollection</span>&lt;TValue&gt;&gt;&gt;</div>
    <div class="level2"><span class="xref">MultiDictionaryBase&lt;TKey, TValue&gt;</span></div>
      <div class="level3"><a class="xref" href="Wintellect.PowerCollections.OrderedMultiDictionary-2.html">OrderedMultiDictionary&lt;TKey, TValue&gt;</a></div>
      <div class="level3"><a class="xref" href="Wintellect.PowerCollections.OrderedMultiDictionary-2.View.html">OrderedMultiDictionary&lt;TKey, TValue&gt;.View</a></div>
  </div>
  <div classs="implements">
    <h5>Implements</h5>
    <div><span class="xref">System.Collections.ICollection</span></div>
    <div><span class="xref">System.Collections.Generic.IDictionary</span>&lt;TKey, <span class="xref">System.Collections.Generic.ICollection</span>&lt;TValue&gt;&gt;</div>
    <div><span class="xref">System.Collections.Generic.ICollection</span>&lt;<span class="xref">System.Collections.Generic.KeyValuePair</span>&lt;TKey, <span class="xref">System.Collections.Generic.ICollection</span>&lt;TValue&gt;&gt;&gt;</div>
    <div><span class="xref">System.Collections.Generic.IEnumerable</span>&lt;<span class="xref">System.Collections.Generic.KeyValuePair</span>&lt;TKey, <span class="xref">System.Collections.Generic.ICollection</span>&lt;TValue&gt;&gt;&gt;</div>
    <div><span class="xref">System.Collections.IEnumerable</span></div>
  </div>
  <div class="inheritedMembers">
    <h5>Inherited Members</h5>
    <div>
      <a class="xref" href="Wintellect.PowerCollections.CollectionBase-1.html#Wintellect_PowerCollections_CollectionBase_1_ToString">CollectionBase&lt;KeyValuePair&lt;TKey, ICollection&lt;TValue&gt;&gt;&gt;.ToString()</a>
    </div>
    <div>
      <a class="xref" href="Wintellect.PowerCollections.CollectionBase-1.html#Wintellect_PowerCollections_CollectionBase_1_Add__0_">CollectionBase&lt;KeyValuePair&lt;TKey, ICollection&lt;TValue&gt;&gt;&gt;.Add(KeyValuePair&lt;TKey, ICollection&lt;TValue&gt;&gt;)</a>
    </div>
    <div>
      <a class="xref" href="Wintellect.PowerCollections.CollectionBase-1.html#Wintellect_PowerCollections_CollectionBase_1_Clear">CollectionBase&lt;KeyValuePair&lt;TKey, ICollection&lt;TValue&gt;&gt;&gt;.Clear()</a>
    </div>
    <div>
      <a class="xref" href="Wintellect.PowerCollections.CollectionBase-1.html#Wintellect_PowerCollections_CollectionBase_1_Remove__0_">CollectionBase&lt;KeyValuePair&lt;TKey, ICollection&lt;TValue&gt;&gt;&gt;.Remove(KeyValuePair&lt;TKey, ICollection&lt;TValue&gt;&gt;)</a>
    </div>
    <div>
      <a class="xref" href="Wintellect.PowerCollections.CollectionBase-1.html#Wintellect_PowerCollections_CollectionBase_1_Contains__0_">CollectionBase&lt;KeyValuePair&lt;TKey, ICollection&lt;TValue&gt;&gt;&gt;.Contains(KeyValuePair&lt;TKey, ICollection&lt;TValue&gt;&gt;)</a>
    </div>
    <div>
      <a class="xref" href="Wintellect.PowerCollections.CollectionBase-1.html#Wintellect_PowerCollections_CollectionBase_1_CopyTo__0___System_Int32_">CollectionBase&lt;KeyValuePair&lt;TKey, ICollection&lt;TValue&gt;&gt;&gt;.CopyTo(KeyValuePair&lt;TKey, ICollection&lt;TValue&gt;&gt;[], Int32)</a>
    </div>
    <div>
      <a class="xref" href="Wintellect.PowerCollections.CollectionBase-1.html#Wintellect_PowerCollections_CollectionBase_1_ToArray">CollectionBase&lt;KeyValuePair&lt;TKey, ICollection&lt;TValue&gt;&gt;&gt;.ToArray()</a>
    </div>
    <div>
      <a class="xref" href="Wintellect.PowerCollections.CollectionBase-1.html#Wintellect_PowerCollections_CollectionBase_1_Count">CollectionBase&lt;KeyValuePair&lt;TKey, ICollection&lt;TValue&gt;&gt;&gt;.Count</a>
    </div>
    <div>
      <a class="xref" href="Wintellect.PowerCollections.CollectionBase-1.html#Wintellect_PowerCollections_CollectionBase_1_System_Collections_Generic_ICollection_T__IsReadOnly">CollectionBase&lt;KeyValuePair&lt;TKey, ICollection&lt;TValue&gt;&gt;&gt;.ICollection&lt;KeyValuePair&lt;TKey, ICollection&lt;TValue&gt;&gt;&gt;.IsReadOnly</a>
    </div>
    <div>
      <a class="xref" href="Wintellect.PowerCollections.CollectionBase-1.html#Wintellect_PowerCollections_CollectionBase_1_AsReadOnly">CollectionBase&lt;KeyValuePair&lt;TKey, ICollection&lt;TValue&gt;&gt;&gt;.AsReadOnly()</a>
    </div>
    <div>
      <a class="xref" href="Wintellect.PowerCollections.CollectionBase-1.html#Wintellect_PowerCollections_CollectionBase_1_Exists_System_Predicate__0__">CollectionBase&lt;KeyValuePair&lt;TKey, ICollection&lt;TValue&gt;&gt;&gt;.Exists(Predicate&lt;KeyValuePair&lt;TKey, ICollection&lt;TValue&gt;&gt;&gt;)</a>
    </div>
    <div>
      <a class="xref" href="Wintellect.PowerCollections.CollectionBase-1.html#Wintellect_PowerCollections_CollectionBase_1_TrueForAll_System_Predicate__0__">CollectionBase&lt;KeyValuePair&lt;TKey, ICollection&lt;TValue&gt;&gt;&gt;.TrueForAll(Predicate&lt;KeyValuePair&lt;TKey, ICollection&lt;TValue&gt;&gt;&gt;)</a>
    </div>
    <div>
      <a class="xref" href="Wintellect.PowerCollections.CollectionBase-1.html#Wintellect_PowerCollections_CollectionBase_1_CountWhere_System_Predicate__0__">CollectionBase&lt;KeyValuePair&lt;TKey, ICollection&lt;TValue&gt;&gt;&gt;.CountWhere(Predicate&lt;KeyValuePair&lt;TKey, ICollection&lt;TValue&gt;&gt;&gt;)</a>
    </div>
    <div>
      <a class="xref" href="Wintellect.PowerCollections.CollectionBase-1.html#Wintellect_PowerCollections_CollectionBase_1_FindAll_System_Predicate__0__">CollectionBase&lt;KeyValuePair&lt;TKey, ICollection&lt;TValue&gt;&gt;&gt;.FindAll(Predicate&lt;KeyValuePair&lt;TKey, ICollection&lt;TValue&gt;&gt;&gt;)</a>
    </div>
    <div>
      <a class="xref" href="Wintellect.PowerCollections.CollectionBase-1.html#Wintellect_PowerCollections_CollectionBase_1_RemoveAll_System_Predicate__0__">CollectionBase&lt;KeyValuePair&lt;TKey, ICollection&lt;TValue&gt;&gt;&gt;.RemoveAll(Predicate&lt;KeyValuePair&lt;TKey, ICollection&lt;TValue&gt;&gt;&gt;)</a>
    </div>
    <div>
      <a class="xref" href="Wintellect.PowerCollections.CollectionBase-1.html#Wintellect_PowerCollections_CollectionBase_1_ForEach_System_Action__0__">CollectionBase&lt;KeyValuePair&lt;TKey, ICollection&lt;TValue&gt;&gt;&gt;.ForEach(Action&lt;KeyValuePair&lt;TKey, ICollection&lt;TValue&gt;&gt;&gt;)</a>
    </div>
    <div>
      <a class="xref" href="Wintellect.PowerCollections.CollectionBase-1.html#Wintellect_PowerCollections_CollectionBase_1_ConvertAll__1_System_Converter__0___0__">CollectionBase&lt;KeyValuePair&lt;TKey, ICollection&lt;TValue&gt;&gt;&gt;.ConvertAll&lt;TOutput&gt;(Converter&lt;KeyValuePair&lt;TKey, ICollection&lt;TValue&gt;&gt;, TOutput&gt;)</a>
    </div>
    <div>
      <a class="xref" href="Wintellect.PowerCollections.CollectionBase-1.html#Wintellect_PowerCollections_CollectionBase_1_GetEnumerator">CollectionBase&lt;KeyValuePair&lt;TKey, ICollection&lt;TValue&gt;&gt;&gt;.GetEnumerator()</a>
    </div>
    <div>
      <a class="xref" href="Wintellect.PowerCollections.CollectionBase-1.html#Wintellect_PowerCollections_CollectionBase_1_System_Collections_ICollection_CopyTo_System_Array_System_Int32_">CollectionBase&lt;KeyValuePair&lt;TKey, ICollection&lt;TValue&gt;&gt;&gt;.ICollection.CopyTo(Array, Int32)</a>
    </div>
    <div>
      <a class="xref" href="Wintellect.PowerCollections.CollectionBase-1.html#Wintellect_PowerCollections_CollectionBase_1_System_Collections_ICollection_IsSynchronized">CollectionBase&lt;KeyValuePair&lt;TKey, ICollection&lt;TValue&gt;&gt;&gt;.ICollection.IsSynchronized</a>
    </div>
    <div>
      <a class="xref" href="Wintellect.PowerCollections.CollectionBase-1.html#Wintellect_PowerCollections_CollectionBase_1_System_Collections_ICollection_SyncRoot">CollectionBase&lt;KeyValuePair&lt;TKey, ICollection&lt;TValue&gt;&gt;&gt;.ICollection.SyncRoot</a>
    </div>
    <div>
      <a class="xref" href="Wintellect.PowerCollections.CollectionBase-1.html#Wintellect_PowerCollections_CollectionBase_1_System_Collections_IEnumerable_GetEnumerator">CollectionBase&lt;KeyValuePair&lt;TKey, ICollection&lt;TValue&gt;&gt;&gt;.IEnumerable.GetEnumerator()</a>
    </div>
    <div>
      <span class="xref">System.Object.Equals(System.Object)</span>
    </div>
    <div>
      <span class="xref">System.Object.Equals(System.Object, System.Object)</span>
    </div>
    <div>
      <span class="xref">System.Object.GetHashCode()</span>
    </div>
    <div>
      <span class="xref">System.Object.GetType()</span>
    </div>
    <div>
      <span class="xref">System.Object.MemberwiseClone()</span>
    </div>
    <div>
      <span class="xref">System.Object.ReferenceEquals(System.Object, System.Object)</span>
    </div>
  </div>
  <h6><strong>Namespace</strong>: <a class="xref" href="Wintellect.PowerCollections.html">Wintellect.PowerCollections</a></h6>
  <h6><strong>Assembly</strong>: CADability.dll</h6>
  <h5 id="Wintellect_PowerCollections_MultiDictionaryBase_2_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">[Serializable]
public abstract class MultiDictionaryBase&lt;TKey, TValue&gt; : CollectionBase&lt;KeyValuePair&lt;TKey, ICollection&lt;TValue&gt;&gt;&gt;, ICollection, IDictionary&lt;TKey, ICollection&lt;TValue&gt;&gt;, ICollection&lt;KeyValuePair&lt;TKey, ICollection&lt;TValue&gt;&gt;&gt;, IEnumerable&lt;KeyValuePair&lt;TKey, ICollection&lt;TValue&gt;&gt;&gt;, IEnumerable</code></pre>
  </div>
  <h5 class="typeParameters">Type Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="parametername">TKey</span></td>
        <td><p>The key type of the dictionary.</p>
</td>
      </tr>
      <tr>
        <td><span class="parametername">TValue</span></td>
        <td><p>The value type of the dictionary.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 id="Wintellect_PowerCollections_MultiDictionaryBase_2_remarks"><strong>Remarks</strong></h5>
  <div class="markdown level0 remarks"><p>To use MultiDictionaryBase as a base class, the derived class must override
Count, Clear, Add, Remove(TKey), Remove(TKey,TValue), Contains(TKey,TValue), 
EnumerateKeys, and TryEnumerateValuesForKey. </p>
<p>It may wish consider overriding CountValues, CountAllValues, ContainsKey,
and EqualValues, but these are not required.
</p>
</div>
  <h3 id="constructors">Constructors
  </h3>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_MultiDictionaryBase_2__ctor.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.MultiDictionaryBase%602.%23ctor%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/MultiDictionaryBase.cs/#L38">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_MultiDictionaryBase_2__ctor_" data-uid="Wintellect.PowerCollections.MultiDictionaryBase`2.#ctor*"></a>
  <h4 id="Wintellect_PowerCollections_MultiDictionaryBase_2__ctor" data-uid="Wintellect.PowerCollections.MultiDictionaryBase`2.#ctor">MultiDictionaryBase()</h4>
  <div class="markdown level1 summary"><p>Creates a new MultiDictionaryBase.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">protected MultiDictionaryBase()</code></pre>
  </div>
  <h3 id="properties">Properties
  </h3>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_MultiDictionaryBase_2_Count.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.MultiDictionaryBase%602.Count%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/MultiDictionaryBase.cs/#L51">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_MultiDictionaryBase_2_Count_" data-uid="Wintellect.PowerCollections.MultiDictionaryBase`2.Count*"></a>
  <h4 id="Wintellect_PowerCollections_MultiDictionaryBase_2_Count" data-uid="Wintellect.PowerCollections.MultiDictionaryBase`2.Count">Count</h4>
  <div class="markdown level1 summary"><p>Gets the number of keys in the dictionary. This property must be overridden
in the derived class.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public abstract override int Count { get; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="overrides">Overrides</h5>
  <div><span class="xref">Wintellect.PowerCollections.CollectionBase&lt;System.Collections.Generic.KeyValuePair&lt;TKey, System.Collections.Generic.ICollection&lt;TValue&gt;&gt;&gt;.Count</span></div>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_MultiDictionaryBase_2_Item__0_.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.MultiDictionaryBase%602.Item(%600)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/MultiDictionaryBase.cs/#L367">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_MultiDictionaryBase_2_Item_" data-uid="Wintellect.PowerCollections.MultiDictionaryBase`2.Item*"></a>
  <h4 id="Wintellect_PowerCollections_MultiDictionaryBase_2_Item__0_" data-uid="Wintellect.PowerCollections.MultiDictionaryBase`2.Item(`0)">Item[TKey]</h4>
  <div class="markdown level1 summary"><p>Returns a collection of all of the values in the dictionary associated with <code data-dev-comment-type="paramref" class="paramref">key</code>,
or changes the set of values associated with <code data-dev-comment-type="paramref" class="paramref">key</code>.
If the key is not present in the dictionary, an ICollection enumerating no
values is returned. The returned collection of values is read-write, and can be used to
modify the collection of values associated with the key.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public virtual ICollection&lt;TValue&gt; this[TKey key] { get; set; }</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">TKey</span></td>
        <td><span class="parametername">key</span></td>
        <td><p>The key to get the values associated with.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Collections.Generic.ICollection</span>&lt;TValue&gt;</td>
        <td><p>An ICollection&lt;TValue&gt; with all the values associated with <code data-dev-comment-type="paramref" class="paramref">key</code>.</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_MultiDictionaryBase_2_Keys.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.MultiDictionaryBase%602.Keys%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/MultiDictionaryBase.cs/#L325">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_MultiDictionaryBase_2_Keys_" data-uid="Wintellect.PowerCollections.MultiDictionaryBase`2.Keys*"></a>
  <h4 id="Wintellect_PowerCollections_MultiDictionaryBase_2_Keys" data-uid="Wintellect.PowerCollections.MultiDictionaryBase`2.Keys">Keys</h4>
  <div class="markdown level1 summary"><p>Gets a read-only collection all the keys in this dictionary.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public virtual ICollection&lt;TKey&gt; Keys { get; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Collections.Generic.ICollection</span>&lt;TKey&gt;</td>
        <td><p>An readonly ICollection&lt;TKey&gt; of all the keys in this dictionary.</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_MultiDictionaryBase_2_KeyValuePairs.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.MultiDictionaryBase%602.KeyValuePairs%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/MultiDictionaryBase.cs/#L353">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_MultiDictionaryBase_2_KeyValuePairs_" data-uid="Wintellect.PowerCollections.MultiDictionaryBase`2.KeyValuePairs*"></a>
  <h4 id="Wintellect_PowerCollections_MultiDictionaryBase_2_KeyValuePairs" data-uid="Wintellect.PowerCollections.MultiDictionaryBase`2.KeyValuePairs">KeyValuePairs</h4>
  <div class="markdown level1 summary"><p>Gets a read-only collection of all key-value pairs in the dictionary. If a key has multiple
values associated with it, then a key-value pair is present for each value associated
with the key.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public virtual ICollection&lt;KeyValuePair&lt;TKey, TValue&gt;&gt; KeyValuePairs { get; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Collections.Generic.ICollection</span>&lt;<span class="xref">System.Collections.Generic.KeyValuePair</span>&lt;TKey, TValue&gt;&gt;</td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_MultiDictionaryBase_2_Values.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.MultiDictionaryBase%602.Values%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/MultiDictionaryBase.cs/#L334">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_MultiDictionaryBase_2_Values_" data-uid="Wintellect.PowerCollections.MultiDictionaryBase`2.Values*"></a>
  <h4 id="Wintellect_PowerCollections_MultiDictionaryBase_2_Values" data-uid="Wintellect.PowerCollections.MultiDictionaryBase`2.Values">Values</h4>
  <div class="markdown level1 summary"><p>Gets a read-only collection of all the values in the dictionary.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public virtual ICollection&lt;TValue&gt; Values { get; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Collections.Generic.ICollection</span>&lt;TValue&gt;</td>
        <td><p>A read-only ICollection&lt;TValue&gt; of all the values in the dictionary.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="methods">Methods
  </h3>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_MultiDictionaryBase_2_Add__0__1_.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.MultiDictionaryBase%602.Add(%600%2C%601)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/MultiDictionaryBase.cs/#L127">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_MultiDictionaryBase_2_Add_" data-uid="Wintellect.PowerCollections.MultiDictionaryBase`2.Add*"></a>
  <h4 id="Wintellect_PowerCollections_MultiDictionaryBase_2_Add__0__1_" data-uid="Wintellect.PowerCollections.MultiDictionaryBase`2.Add(`0,`1)">Add(TKey, TValue)</h4>
  <div class="markdown level1 summary"><p>Adds a new key-value pair to the dictionary.  This method must be overridden in the derived class.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public abstract void Add(TKey key, TValue value)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">TKey</span></td>
        <td><span class="parametername">key</span></td>
        <td><p>Key to add.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">TValue</span></td>
        <td><span class="parametername">value</span></td>
        <td><p>Value to associated with the key.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="exceptions">Exceptions</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Condition</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.ArgumentException</span></td>
        <td><p>key is already present in the dictionary</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_MultiDictionaryBase_2_Add_System_Collections_Generic_KeyValuePair__0_System_Collections_Generic_ICollection__1___.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.MultiDictionaryBase%602.Add(System.Collections.Generic.KeyValuePair%7B%600%2CSystem.Collections.Generic.ICollection%7B%601%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/MultiDictionaryBase.cs/#L81">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_MultiDictionaryBase_2_Add_" data-uid="Wintellect.PowerCollections.MultiDictionaryBase`2.Add*"></a>
  <h4 id="Wintellect_PowerCollections_MultiDictionaryBase_2_Add_System_Collections_Generic_KeyValuePair__0_System_Collections_Generic_ICollection__1___" data-uid="Wintellect.PowerCollections.MultiDictionaryBase`2.Add(System.Collections.Generic.KeyValuePair{`0,System.Collections.Generic.ICollection{`1}})">Add(KeyValuePair&lt;TKey, ICollection&lt;TValue&gt;&gt;)</h4>
  <div class="markdown level1 summary"><p>Adds a key-value pair to the collection. The value part of the pair must be a collection
of values to associate with the key. If values are already associated with the given
key, the new values are added to the ones associated with that key.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public override void Add(KeyValuePair&lt;TKey, ICollection&lt;TValue&gt;&gt; item)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Collections.Generic.KeyValuePair</span>&lt;TKey, <span class="xref">System.Collections.Generic.ICollection</span>&lt;TValue&gt;&gt;</td>
        <td><span class="parametername">item</span></td>
        <td><p>A KeyValuePair contains the Key and Value collection to add.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="overrides">Overrides</h5>
  <div><span class="xref">Wintellect.PowerCollections.CollectionBase&lt;System.Collections.Generic.KeyValuePair&lt;TKey, System.Collections.Generic.ICollection&lt;TValue&gt;&gt;&gt;.Add(System.Collections.Generic.KeyValuePair&lt;TKey, System.Collections.Generic.ICollection&lt;TValue&gt;&gt;)</span></div>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_MultiDictionaryBase_2_AddMany__0_System_Collections_Generic_IEnumerable__1__.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.MultiDictionaryBase%602.AddMany(%600%2CSystem.Collections.Generic.IEnumerable%7B%601%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/MultiDictionaryBase.cs/#L115">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_MultiDictionaryBase_2_AddMany_" data-uid="Wintellect.PowerCollections.MultiDictionaryBase`2.AddMany*"></a>
  <h4 id="Wintellect_PowerCollections_MultiDictionaryBase_2_AddMany__0_System_Collections_Generic_IEnumerable__1__" data-uid="Wintellect.PowerCollections.MultiDictionaryBase`2.AddMany(`0,System.Collections.Generic.IEnumerable{`1})">AddMany(TKey, IEnumerable&lt;TValue&gt;)</h4>
  <div class="markdown level1 summary"><p>Adds new values to be associated with a key. If duplicate values are permitted, this
method always adds new key-value pairs to the dictionary.</p>
<p>If duplicate values are not permitted, and <code data-dev-comment-type="paramref" class="paramref">key</code> already has a value
equal to one of <code data-dev-comment-type="paramref" class="paramref">values</code> associated with it, then that value is replaced,
and the number of values associate with <code data-dev-comment-type="paramref" class="paramref">key</code> is unchanged.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public virtual void AddMany(TKey key, IEnumerable&lt;TValue&gt; values)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">TKey</span></td>
        <td><span class="parametername">key</span></td>
        <td><p>The key to associate with.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Collections.Generic.IEnumerable</span>&lt;TValue&gt;</td>
        <td><span class="parametername">values</span></td>
        <td><p>A collection of values to associate with <code data-dev-comment-type="paramref" class="paramref">key</code>.</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_MultiDictionaryBase_2_Clear.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.MultiDictionaryBase%602.Clear%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/MultiDictionaryBase.cs/#L45">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_MultiDictionaryBase_2_Clear_" data-uid="Wintellect.PowerCollections.MultiDictionaryBase`2.Clear*"></a>
  <h4 id="Wintellect_PowerCollections_MultiDictionaryBase_2_Clear" data-uid="Wintellect.PowerCollections.MultiDictionaryBase`2.Clear">Clear()</h4>
  <div class="markdown level1 summary"><p>Clears the dictionary. This method must be overridden in the derived class.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public abstract override void Clear()</code></pre>
  </div>
  <h5 class="overrides">Overrides</h5>
  <div><span class="xref">Wintellect.PowerCollections.CollectionBase&lt;System.Collections.Generic.KeyValuePair&lt;TKey, System.Collections.Generic.ICollection&lt;TValue&gt;&gt;&gt;.Clear()</span></div>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_MultiDictionaryBase_2_Contains__0__1_.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.MultiDictionaryBase%602.Contains(%600%2C%601)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/MultiDictionaryBase.cs/#L237">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_MultiDictionaryBase_2_Contains_" data-uid="Wintellect.PowerCollections.MultiDictionaryBase`2.Contains*"></a>
  <h4 id="Wintellect_PowerCollections_MultiDictionaryBase_2_Contains__0__1_" data-uid="Wintellect.PowerCollections.MultiDictionaryBase`2.Contains(`0,`1)">Contains(TKey, TValue)</h4>
  <div class="markdown level1 summary"><p>Determines if this dictionary contains a key-value pair equal to <code data-dev-comment-type="paramref" class="paramref">key</code> and
<code data-dev-comment-type="paramref" class="paramref">value</code>. The dictionary is not changed. This method must be overridden in the derived class.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public abstract bool Contains(TKey key, TValue value)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">TKey</span></td>
        <td><span class="parametername">key</span></td>
        <td><p>The key to search for.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">TValue</span></td>
        <td><span class="parametername">value</span></td>
        <td><p>The value to search for.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><p>True if the dictionary has associated <code data-dev-comment-type="paramref" class="paramref">value</code> with <code data-dev-comment-type="paramref" class="paramref">key</code>.</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_MultiDictionaryBase_2_Contains_System_Collections_Generic_KeyValuePair__0_System_Collections_Generic_ICollection__1___.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.MultiDictionaryBase%602.Contains(System.Collections.Generic.KeyValuePair%7B%600%2CSystem.Collections.Generic.ICollection%7B%601%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/MultiDictionaryBase.cs/#L244">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_MultiDictionaryBase_2_Contains_" data-uid="Wintellect.PowerCollections.MultiDictionaryBase`2.Contains*"></a>
  <h4 id="Wintellect_PowerCollections_MultiDictionaryBase_2_Contains_System_Collections_Generic_KeyValuePair__0_System_Collections_Generic_ICollection__1___" data-uid="Wintellect.PowerCollections.MultiDictionaryBase`2.Contains(System.Collections.Generic.KeyValuePair{`0,System.Collections.Generic.ICollection{`1}})">Contains(KeyValuePair&lt;TKey, ICollection&lt;TValue&gt;&gt;)</h4>
  <div class="markdown level1 summary"><p>Determines if this dictionary contains the given key and all of the values associated with that key..</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public override bool Contains(KeyValuePair&lt;TKey, ICollection&lt;TValue&gt;&gt; pair)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Collections.Generic.KeyValuePair</span>&lt;TKey, <span class="xref">System.Collections.Generic.ICollection</span>&lt;TValue&gt;&gt;</td>
        <td><span class="parametername">pair</span></td>
        <td><p>A key and collection of values to search for.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><p>True if the dictionary has associated all of the values in <code data-dev-comment-type="paramref" class="paramref">pair</code>.Value with <code data-dev-comment-type="paramref" class="paramref">pair</code>.Key.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="overrides">Overrides</h5>
  <div><span class="xref">Wintellect.PowerCollections.CollectionBase&lt;System.Collections.Generic.KeyValuePair&lt;TKey, System.Collections.Generic.ICollection&lt;TValue&gt;&gt;&gt;.Contains(System.Collections.Generic.KeyValuePair&lt;TKey, System.Collections.Generic.ICollection&lt;TValue&gt;&gt;)</span></div>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_MultiDictionaryBase_2_ContainsKey__0_.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.MultiDictionaryBase%602.ContainsKey(%600)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/MultiDictionaryBase.cs/#L224">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_MultiDictionaryBase_2_ContainsKey_" data-uid="Wintellect.PowerCollections.MultiDictionaryBase`2.ContainsKey*"></a>
  <h4 id="Wintellect_PowerCollections_MultiDictionaryBase_2_ContainsKey__0_" data-uid="Wintellect.PowerCollections.MultiDictionaryBase`2.ContainsKey(`0)">ContainsKey(TKey)</h4>
  <div class="markdown level1 summary"><p>Determines whether a given key is found in the dictionary.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public virtual bool ContainsKey(TKey key)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">TKey</span></td>
        <td><span class="parametername">key</span></td>
        <td><p>Key to look for in the dictionary.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><p>True if the key is present in the dictionary.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 id="Wintellect_PowerCollections_MultiDictionaryBase_2_ContainsKey__0__remarks">Remarks</h5>
  <div class="markdown level1 remarks"><p>The default implementation simply calls TryEnumerateValuesForKey.
It may be appropriate to override this method to
provide a more efficient implementation.</p>
</div>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_MultiDictionaryBase_2_CountAllValues.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.MultiDictionaryBase%602.CountAllValues%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/MultiDictionaryBase.cs/#L305">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_MultiDictionaryBase_2_CountAllValues_" data-uid="Wintellect.PowerCollections.MultiDictionaryBase`2.CountAllValues*"></a>
  <h4 id="Wintellect_PowerCollections_MultiDictionaryBase_2_CountAllValues" data-uid="Wintellect.PowerCollections.MultiDictionaryBase`2.CountAllValues">CountAllValues()</h4>
  <div class="markdown level1 summary"><p>Gets a total count of values in the collection. This default implementation
is slow; it enumerates all of the keys in the dictionary and calls CountValues on each.
A derived class may be able to supply a more efficient implementation.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">protected virtual int CountAllValues()</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td><p>The total number of values associated with all keys in the dictionary.</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_MultiDictionaryBase_2_CountValues__0_.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.MultiDictionaryBase%602.CountValues(%600)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/MultiDictionaryBase.cs/#L282">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_MultiDictionaryBase_2_CountValues_" data-uid="Wintellect.PowerCollections.MultiDictionaryBase`2.CountValues*"></a>
  <h4 id="Wintellect_PowerCollections_MultiDictionaryBase_2_CountValues__0_" data-uid="Wintellect.PowerCollections.MultiDictionaryBase`2.CountValues(`0)">CountValues(TKey)</h4>
  <div class="markdown level1 summary"><p>Gets a count of the number of values associated with a key. The
default implementation is slow; it enumerators all of the values
(using TryEnumerateValuesForKey) to count them. A derived class
may be able to supply a more efficient implementation.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">protected virtual int CountValues(TKey key)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">TKey</span></td>
        <td><span class="parametername">key</span></td>
        <td><p>The key to count values for.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td><p>The number of values associated with <code data-dev-comment-type="paramref" class="paramref">key</code>.</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_MultiDictionaryBase_2_EnumerateKeys.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.MultiDictionaryBase%602.EnumerateKeys%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/MultiDictionaryBase.cs/#L62">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_MultiDictionaryBase_2_EnumerateKeys_" data-uid="Wintellect.PowerCollections.MultiDictionaryBase`2.EnumerateKeys*"></a>
  <h4 id="Wintellect_PowerCollections_MultiDictionaryBase_2_EnumerateKeys" data-uid="Wintellect.PowerCollections.MultiDictionaryBase`2.EnumerateKeys">EnumerateKeys()</h4>
  <div class="markdown level1 summary"><p>Enumerate all the keys in the dictionary. This method must be overridden by a derived
class.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">protected abstract IEnumerator&lt;TKey&gt; EnumerateKeys()</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Collections.Generic.IEnumerator</span>&lt;TKey&gt;</td>
        <td><p>An IEnumerator&lt;TKey&gt; that enumerates all of the keys in the collection that
have at least one value associated with them.</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_MultiDictionaryBase_2_EqualValues__1__1_.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.MultiDictionaryBase%602.EqualValues(%601%2C%601)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/MultiDictionaryBase.cs/#L267">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_MultiDictionaryBase_2_EqualValues_" data-uid="Wintellect.PowerCollections.MultiDictionaryBase`2.EqualValues*"></a>
  <h4 id="Wintellect_PowerCollections_MultiDictionaryBase_2_EqualValues__1__1_" data-uid="Wintellect.PowerCollections.MultiDictionaryBase`2.EqualValues(`1,`1)">EqualValues(TValue, TValue)</h4>
  <div class="markdown level1 summary"><p>If the derived class does not use the default comparison for values, this
methods should be overridden to compare two values for equality. This is
used for the correct implementation of ICollection.Contains on the Values
and KeyValuePairs collections.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">protected virtual bool EqualValues(TValue value1, TValue value2)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">TValue</span></td>
        <td><span class="parametername">value1</span></td>
        <td><p>First value to compare.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">TValue</span></td>
        <td><span class="parametername">value2</span></td>
        <td><p>Second value to compare.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><p>True if the values are equal.</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_MultiDictionaryBase_2_GetEnumerator.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.MultiDictionaryBase%602.GetEnumerator%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/MultiDictionaryBase.cs/#L550">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_MultiDictionaryBase_2_GetEnumerator_" data-uid="Wintellect.PowerCollections.MultiDictionaryBase`2.GetEnumerator*"></a>
  <h4 id="Wintellect_PowerCollections_MultiDictionaryBase_2_GetEnumerator" data-uid="Wintellect.PowerCollections.MultiDictionaryBase`2.GetEnumerator">GetEnumerator()</h4>
  <div class="markdown level1 summary"><p>Enumerate all the keys in the dictionary, and for each key, the collection of values for that key.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public override IEnumerator&lt;KeyValuePair&lt;TKey, ICollection&lt;TValue&gt;&gt;&gt; GetEnumerator()</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Collections.Generic.IEnumerator</span>&lt;<span class="xref">System.Collections.Generic.KeyValuePair</span>&lt;TKey, <span class="xref">System.Collections.Generic.ICollection</span>&lt;TValue&gt;&gt;&gt;</td>
        <td><p>An enumerator to enumerate all the key, ICollection&lt;value&gt; pairs in the dictionary.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="overrides">Overrides</h5>
  <div><span class="xref">Wintellect.PowerCollections.CollectionBase&lt;System.Collections.Generic.KeyValuePair&lt;TKey, System.Collections.Generic.ICollection&lt;TValue&gt;&gt;&gt;.GetEnumerator()</span></div>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_MultiDictionaryBase_2_Remove__0_.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.MultiDictionaryBase%602.Remove(%600)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/MultiDictionaryBase.cs/#L134">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_MultiDictionaryBase_2_Remove_" data-uid="Wintellect.PowerCollections.MultiDictionaryBase`2.Remove*"></a>
  <h4 id="Wintellect_PowerCollections_MultiDictionaryBase_2_Remove__0_" data-uid="Wintellect.PowerCollections.MultiDictionaryBase`2.Remove(`0)">Remove(TKey)</h4>
  <div class="markdown level1 summary"><p>Removes a key from the dictionary. This method must be overridden in the derived class.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public abstract bool Remove(TKey key)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">TKey</span></td>
        <td><span class="parametername">key</span></td>
        <td><p>Key to remove from the dictionary.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><p>True if the key was found, false otherwise.</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_MultiDictionaryBase_2_Remove__0__1_.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.MultiDictionaryBase%602.Remove(%600%2C%601)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/MultiDictionaryBase.cs/#L142">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_MultiDictionaryBase_2_Remove_" data-uid="Wintellect.PowerCollections.MultiDictionaryBase`2.Remove*"></a>
  <h4 id="Wintellect_PowerCollections_MultiDictionaryBase_2_Remove__0__1_" data-uid="Wintellect.PowerCollections.MultiDictionaryBase`2.Remove(`0,`1)">Remove(TKey, TValue)</h4>
  <div class="markdown level1 summary"><p>Removes a key-value pair from the dictionary. This method must be overridden in the derived class.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public abstract bool Remove(TKey key, TValue value)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">TKey</span></td>
        <td><span class="parametername">key</span></td>
        <td><p>Key to remove from the dictionary.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">TValue</span></td>
        <td><span class="parametername">value</span></td>
        <td><p>Associated value to remove from the dictionary.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><p>True if the key-value pair was found, false otherwise.</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_MultiDictionaryBase_2_Remove_System_Collections_Generic_KeyValuePair__0_System_Collections_Generic_ICollection__1___.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.MultiDictionaryBase%602.Remove(System.Collections.Generic.KeyValuePair%7B%600%2CSystem.Collections.Generic.ICollection%7B%601%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/MultiDictionaryBase.cs/#L150">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_MultiDictionaryBase_2_Remove_" data-uid="Wintellect.PowerCollections.MultiDictionaryBase`2.Remove*"></a>
  <h4 id="Wintellect_PowerCollections_MultiDictionaryBase_2_Remove_System_Collections_Generic_KeyValuePair__0_System_Collections_Generic_ICollection__1___" data-uid="Wintellect.PowerCollections.MultiDictionaryBase`2.Remove(System.Collections.Generic.KeyValuePair{`0,System.Collections.Generic.ICollection{`1}})">Remove(KeyValuePair&lt;TKey, ICollection&lt;TValue&gt;&gt;)</h4>
  <div class="markdown level1 summary"><p>Removes a set of values from a given key. If all values associated with a key are
removed, then the key is removed also.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public override bool Remove(KeyValuePair&lt;TKey, ICollection&lt;TValue&gt;&gt; pair)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Collections.Generic.KeyValuePair</span>&lt;TKey, <span class="xref">System.Collections.Generic.ICollection</span>&lt;TValue&gt;&gt;</td>
        <td><span class="parametername">pair</span></td>
        <td><p>A KeyValuePair contains a key and a set of values to remove from that key.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><p>True if at least one values was found and removed.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="overrides">Overrides</h5>
  <div><span class="xref">Wintellect.PowerCollections.CollectionBase&lt;System.Collections.Generic.KeyValuePair&lt;TKey, System.Collections.Generic.ICollection&lt;TValue&gt;&gt;&gt;.Remove(System.Collections.Generic.KeyValuePair&lt;TKey, System.Collections.Generic.ICollection&lt;TValue&gt;&gt;)</span></div>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_MultiDictionaryBase_2_RemoveMany__0_System_Collections_Generic_IEnumerable__1__.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.MultiDictionaryBase%602.RemoveMany(%600%2CSystem.Collections.Generic.IEnumerable%7B%601%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/MultiDictionaryBase.cs/#L162">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_MultiDictionaryBase_2_RemoveMany_" data-uid="Wintellect.PowerCollections.MultiDictionaryBase`2.RemoveMany*"></a>
  <h4 id="Wintellect_PowerCollections_MultiDictionaryBase_2_RemoveMany__0_System_Collections_Generic_IEnumerable__1__" data-uid="Wintellect.PowerCollections.MultiDictionaryBase`2.RemoveMany(`0,System.Collections.Generic.IEnumerable{`1})">RemoveMany(TKey, IEnumerable&lt;TValue&gt;)</h4>
  <div class="markdown level1 summary"><p>Removes a collection of values from the values associated with a key. If the
last value is removed from a key, the key is removed also.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public virtual int RemoveMany(TKey key, IEnumerable&lt;TValue&gt; values)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">TKey</span></td>
        <td><span class="parametername">key</span></td>
        <td><p>A key to remove values from.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Collections.Generic.IEnumerable</span>&lt;TValue&gt;</td>
        <td><span class="parametername">values</span></td>
        <td><p>A collection of values to remove.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td><p>The number of values that were present and removed.</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_MultiDictionaryBase_2_RemoveMany_System_Collections_Generic_IEnumerable__0__.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.MultiDictionaryBase%602.RemoveMany(System.Collections.Generic.IEnumerable%7B%600%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/MultiDictionaryBase.cs/#L181">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_MultiDictionaryBase_2_RemoveMany_" data-uid="Wintellect.PowerCollections.MultiDictionaryBase`2.RemoveMany*"></a>
  <h4 id="Wintellect_PowerCollections_MultiDictionaryBase_2_RemoveMany_System_Collections_Generic_IEnumerable__0__" data-uid="Wintellect.PowerCollections.MultiDictionaryBase`2.RemoveMany(System.Collections.Generic.IEnumerable{`0})">RemoveMany(IEnumerable&lt;TKey&gt;)</h4>
  <div class="markdown level1 summary"><p>Remove all of the keys (and any associated values) in a collection
of keys. If a key is not present in the dictionary, nothing happens.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public int RemoveMany(IEnumerable&lt;TKey&gt; keyCollection)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Collections.Generic.IEnumerable</span>&lt;TKey&gt;</td>
        <td><span class="parametername">keyCollection</span></td>
        <td><p>A collection of key values to remove.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td><p>The number of keys from the collection that were present and removed.</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_MultiDictionaryBase_2_Replace__0__1_.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.MultiDictionaryBase%602.Replace(%600%2C%601)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/MultiDictionaryBase.cs/#L410">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_MultiDictionaryBase_2_Replace_" data-uid="Wintellect.PowerCollections.MultiDictionaryBase`2.Replace*"></a>
  <h4 id="Wintellect_PowerCollections_MultiDictionaryBase_2_Replace__0__1_" data-uid="Wintellect.PowerCollections.MultiDictionaryBase`2.Replace(`0,`1)">Replace(TKey, TValue)</h4>
  <div class="markdown level1 summary"><p>Replaces all values associated with <code data-dev-comment-type="paramref" class="paramref">key</code> with the single value <code data-dev-comment-type="paramref" class="paramref">value</code>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public virtual bool Replace(TKey key, TValue value)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">TKey</span></td>
        <td><span class="parametername">key</span></td>
        <td><p>The key to associate with.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">TValue</span></td>
        <td><span class="parametername">value</span></td>
        <td><p>The new values to be associated with <code data-dev-comment-type="paramref" class="paramref">key</code>.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><p>Returns true if some values were removed. Returns false if <code data-dev-comment-type="paramref" class="paramref">key</code> was not
present in the dictionary before Replace was called.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 id="Wintellect_PowerCollections_MultiDictionaryBase_2_Replace__0__1__remarks">Remarks</h5>
  <div class="markdown level1 remarks"><p>This implementation simply calls Remove, followed by Add.</p>
</div>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_MultiDictionaryBase_2_ReplaceMany__0_System_Collections_Generic_IEnumerable__1__.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.MultiDictionaryBase%602.ReplaceMany(%600%2CSystem.Collections.Generic.IEnumerable%7B%601%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/MultiDictionaryBase.cs/#L426">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_MultiDictionaryBase_2_ReplaceMany_" data-uid="Wintellect.PowerCollections.MultiDictionaryBase`2.ReplaceMany*"></a>
  <h4 id="Wintellect_PowerCollections_MultiDictionaryBase_2_ReplaceMany__0_System_Collections_Generic_IEnumerable__1__" data-uid="Wintellect.PowerCollections.MultiDictionaryBase`2.ReplaceMany(`0,System.Collections.Generic.IEnumerable{`1})">ReplaceMany(TKey, IEnumerable&lt;TValue&gt;)</h4>
  <div class="markdown level1 summary"><p>Replaces all values associated with <code data-dev-comment-type="paramref" class="paramref">key</code> with a new collection
of values. If the collection does not permit duplicate values, and <code data-dev-comment-type="paramref" class="paramref">values</code> has duplicate
items, then only the last of duplicates is added.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool ReplaceMany(TKey key, IEnumerable&lt;TValue&gt; values)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">TKey</span></td>
        <td><span class="parametername">key</span></td>
        <td><p>The key to associate with.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Collections.Generic.IEnumerable</span>&lt;TValue&gt;</td>
        <td><span class="parametername">values</span></td>
        <td><p>The new values to be associated with <code data-dev-comment-type="paramref" class="paramref">key</code>.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><p>Returns true if some values were removed. Returns false if <code data-dev-comment-type="paramref" class="paramref">key</code> was not
present in the dictionary before Replace was called.</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_MultiDictionaryBase_2_ToString.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.MultiDictionaryBase%602.ToString%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/MultiDictionaryBase.cs/#L438">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_MultiDictionaryBase_2_ToString_" data-uid="Wintellect.PowerCollections.MultiDictionaryBase`2.ToString*"></a>
  <h4 id="Wintellect_PowerCollections_MultiDictionaryBase_2_ToString" data-uid="Wintellect.PowerCollections.MultiDictionaryBase`2.ToString">ToString()</h4>
  <div class="markdown level1 summary"><p>Shows the string representation of the dictionary. The string representation contains
a list of the mappings in the dictionary.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public override string ToString()</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td><p>The string representation of the dictionary.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="overrides">Overrides</h5>
  <div><span class="xref">Wintellect.PowerCollections.CollectionBase&lt;System.Collections.Generic.KeyValuePair&lt;TKey, System.Collections.Generic.ICollection&lt;TValue&gt;&gt;&gt;.ToString()</span></div>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_MultiDictionaryBase_2_TryEnumerateValuesForKey__0_System_Collections_Generic_IEnumerator__1___.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.MultiDictionaryBase%602.TryEnumerateValuesForKey(%600%2CSystem.Collections.Generic.IEnumerator%7B%601%7D%40)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/MultiDictionaryBase.cs/#L73">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_MultiDictionaryBase_2_TryEnumerateValuesForKey_" data-uid="Wintellect.PowerCollections.MultiDictionaryBase`2.TryEnumerateValuesForKey*"></a>
  <h4 id="Wintellect_PowerCollections_MultiDictionaryBase_2_TryEnumerateValuesForKey__0_System_Collections_Generic_IEnumerator__1___" data-uid="Wintellect.PowerCollections.MultiDictionaryBase`2.TryEnumerateValuesForKey(`0,System.Collections.Generic.IEnumerator{`1}@)">TryEnumerateValuesForKey(TKey, out IEnumerator&lt;TValue&gt;)</h4>
  <div class="markdown level1 summary"><p>Enumerate all of the values associated with a given key. This method must be overridden
by the derived class. If the key exists and has values associated with it, an enumerator for those
values is returned throught <code data-dev-comment-type="paramref" class="paramref">values</code>. If the key does not exist, false is returned.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">protected abstract bool TryEnumerateValuesForKey(TKey key, out IEnumerator&lt;TValue&gt; values)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">TKey</span></td>
        <td><span class="parametername">key</span></td>
        <td><p>The key to get values for.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Collections.Generic.IEnumerator</span>&lt;TValue&gt;</td>
        <td><span class="parametername">values</span></td>
        <td><p>If true is returned, this parameter receives an enumerators that
enumerates the values associated with that key.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><p>True if the key exists and has values associated with it. False otherwise.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="eii">Explicit Interface Implementations
  </h3>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_MultiDictionaryBase_2_System_Collections_Generic_IDictionary_TKey_System_Collections_Generic_ICollection_TValue___Add__0_System_Collections_Generic_ICollection__1__.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.MultiDictionaryBase%602.System%23Collections%23Generic%23IDictionary%7BTKey%2CSystem%23Collections%23Generic%23ICollection%7BTValue%7D%7D%23Add(%600%2CSystem.Collections.Generic.ICollection%7B%601%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/MultiDictionaryBase.cs/#L94">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_MultiDictionaryBase_2_System_Collections_Generic_IDictionary_TKey_System_Collections_Generic_ICollection_TValue___Add_" data-uid="Wintellect.PowerCollections.MultiDictionaryBase`2.System#Collections#Generic#IDictionary{TKey,System#Collections#Generic#ICollection{TValue}}#Add*"></a>
  <h4 id="Wintellect_PowerCollections_MultiDictionaryBase_2_System_Collections_Generic_IDictionary_TKey_System_Collections_Generic_ICollection_TValue___Add__0_System_Collections_Generic_ICollection__1__" data-uid="Wintellect.PowerCollections.MultiDictionaryBase`2.System#Collections#Generic#IDictionary{TKey,System#Collections#Generic#ICollection{TValue}}#Add(`0,System.Collections.Generic.ICollection{`1})">IDictionary&lt;TKey, ICollection&lt;TValue&gt;&gt;.Add(TKey, ICollection&lt;TValue&gt;)</h4>
  <div class="markdown level1 summary"><p>Implements IDictionary&lt;TKey, IEnumerable&lt;TValue&gt;&gt;.Add. If the
key is already present, and ArgumentException is thrown. Otherwise, a
new key is added, and new values are associated with that key.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">void IDictionary&lt;TKey, ICollection&lt;TValue&gt;&gt;.Add(TKey key, ICollection&lt;TValue&gt; values)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">TKey</span></td>
        <td><span class="parametername">key</span></td>
        <td><p>Key to add.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Collections.Generic.ICollection</span>&lt;TValue&gt;</td>
        <td><span class="parametername">values</span></td>
        <td><p>Values to associate with that key.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="exceptions">Exceptions</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Condition</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.ArgumentException</span></td>
        <td><p>The key is already present in the dictionary.</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_MultiDictionaryBase_2_System_Collections_Generic_IDictionary_TKey_System_Collections_Generic_ICollection_TValue___Item__0_.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.MultiDictionaryBase%602.System%23Collections%23Generic%23IDictionary%7BTKey%2CSystem%23Collections%23Generic%23ICollection%7BTValue%7D%7D%23Item(%600)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/MultiDictionaryBase.cs/#L387">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_MultiDictionaryBase_2_System_Collections_Generic_IDictionary_TKey_System_Collections_Generic_ICollection_TValue___Item_" data-uid="Wintellect.PowerCollections.MultiDictionaryBase`2.System#Collections#Generic#IDictionary{TKey,System#Collections#Generic#ICollection{TValue}}#Item*"></a>
  <h4 id="Wintellect_PowerCollections_MultiDictionaryBase_2_System_Collections_Generic_IDictionary_TKey_System_Collections_Generic_ICollection_TValue___Item__0_" data-uid="Wintellect.PowerCollections.MultiDictionaryBase`2.System#Collections#Generic#IDictionary{TKey,System#Collections#Generic#ICollection{TValue}}#Item(`0)">IDictionary&lt;TKey, ICollection&lt;TValue&gt;&gt;.Item[TKey]</h4>
  <div class="markdown level1 summary"><p>Gets a collection of all the values in the dictionary associated with <code data-dev-comment-type="paramref" class="paramref">key</code>,
or changes the set of values associated with <code data-dev-comment-type="paramref" class="paramref">key</code>.
If the key is not present in the dictionary, a KeyNotFound exception is thrown.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">ICollection&lt;TValue&gt; IDictionary&lt;TKey, ICollection&lt;TValue&gt;&gt;.this[TKey key] { get; set; }</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">TKey</span></td>
        <td><span class="parametername">key</span></td>
        <td><p>The key to get the values associated with.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Collections.Generic.ICollection</span>&lt;TValue&gt;</td>
        <td><p>An IEnumerable&lt;TValue&gt; that enumerates all the values associated with <code data-dev-comment-type="paramref" class="paramref">key</code>.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="exceptions">Exceptions</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Condition</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Collections.Generic.KeyNotFoundException</span></td>
        <td><p>The given key is not present in the dictionary.</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_MultiDictionaryBase_2_System_Collections_Generic_IDictionary_TKey_System_Collections_Generic_ICollection_TValue___TryGetValue__0_System_Collections_Generic_ICollection__1___.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.MultiDictionaryBase%602.System%23Collections%23Generic%23IDictionary%7BTKey%2CSystem%23Collections%23Generic%23ICollection%7BTValue%7D%7D%23TryGetValue(%600%2CSystem.Collections.Generic.ICollection%7B%601%7D%40)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/MultiDictionaryBase.cs/#L202">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_MultiDictionaryBase_2_System_Collections_Generic_IDictionary_TKey_System_Collections_Generic_ICollection_TValue___TryGetValue_" data-uid="Wintellect.PowerCollections.MultiDictionaryBase`2.System#Collections#Generic#IDictionary{TKey,System#Collections#Generic#ICollection{TValue}}#TryGetValue*"></a>
  <h4 id="Wintellect_PowerCollections_MultiDictionaryBase_2_System_Collections_Generic_IDictionary_TKey_System_Collections_Generic_ICollection_TValue___TryGetValue__0_System_Collections_Generic_ICollection__1___" data-uid="Wintellect.PowerCollections.MultiDictionaryBase`2.System#Collections#Generic#IDictionary{TKey,System#Collections#Generic#ICollection{TValue}}#TryGetValue(`0,System.Collections.Generic.ICollection{`1}@)">IDictionary&lt;TKey, ICollection&lt;TValue&gt;&gt;.TryGetValue(TKey, out ICollection&lt;TValue&gt;)</h4>
  <div class="markdown level1 summary"><p>Determines if this dictionary contains a key equal to <code data-dev-comment-type="paramref" class="paramref">key</code>. If so, all the values
associated with that key are returned through the values parameter. This method must be
overridden by the derived class.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">bool IDictionary&lt;TKey, ICollection&lt;TValue&gt;&gt;.TryGetValue(TKey key, out ICollection&lt;TValue&gt; values)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">TKey</span></td>
        <td><span class="parametername">key</span></td>
        <td><p>The key to search for.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Collections.Generic.ICollection</span>&lt;TValue&gt;</td>
        <td><span class="parametername">values</span></td>
        <td><p>Returns all values associated with key, if true was returned.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><p>True if the dictionary contains key. False if the dictionary does not contain key.</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_MultiDictionaryBase_2_System_Collections_Generic_IDictionary_TKey_System_Collections_Generic_ICollection_TValue___Values.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.MultiDictionaryBase%602.System%23Collections%23Generic%23IDictionary%7BTKey%2CSystem%23Collections%23Generic%23ICollection%7BTValue%7D%7D%23Values%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/MultiDictionaryBase.cs/#L343">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_MultiDictionaryBase_2_System_Collections_Generic_IDictionary_TKey_System_Collections_Generic_ICollection_TValue___Values_" data-uid="Wintellect.PowerCollections.MultiDictionaryBase`2.System#Collections#Generic#IDictionary{TKey,System#Collections#Generic#ICollection{TValue}}#Values*"></a>
  <h4 id="Wintellect_PowerCollections_MultiDictionaryBase_2_System_Collections_Generic_IDictionary_TKey_System_Collections_Generic_ICollection_TValue___Values" data-uid="Wintellect.PowerCollections.MultiDictionaryBase`2.System#Collections#Generic#IDictionary{TKey,System#Collections#Generic#ICollection{TValue}}#Values">IDictionary&lt;TKey, ICollection&lt;TValue&gt;&gt;.Values</h4>
  <div class="markdown level1 summary"><p>Gets a read-only collection of all the value collections in the dictionary.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">ICollection&lt;ICollection&lt;TValue&gt;&gt; IDictionary&lt;TKey, ICollection&lt;TValue&gt;&gt;.Values { get; }</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Collections.Generic.ICollection</span>&lt;<span class="xref">System.Collections.Generic.ICollection</span>&lt;TValue&gt;&gt;</td>
        <td><p>A read-only ICollection&lt;IEnumerable&lt;TValue&gt;&gt; of all the values in the dictionary.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="implements">Implements</h3>
  <div>
      <span class="xref">System.Collections.ICollection</span>
  </div>
  <div>
      <span class="xref">System.Collections.Generic.IDictionary&lt;TKey, TValue&gt;</span>
  </div>
  <div>
      <span class="xref">System.Collections.Generic.ICollection&lt;T&gt;</span>
  </div>
  <div>
      <span class="xref">System.Collections.Generic.IEnumerable&lt;T&gt;</span>
  </div>
  <div>
      <span class="xref">System.Collections.IEnumerable</span>
  </div>
</article>
          </div>
          
          <div class="hidden-sm col-md-2" role="complementary">
            <div class="sideaffix">
              <div class="contribution">
                <ul class="nav">
                  <li>
                    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_MultiDictionaryBase_2.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.MultiDictionaryBase%602%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A" class="contribution-link">Improve this Doc</a>
                  </li>
                  <li>
                    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/MultiDictionaryBase.cs/#L30" class="contribution-link">View Source</a>
                  </li>
                </ul>
              </div>
              <nav class="bs-docs-sidebar hidden-print hidden-xs hidden-sm affix" id="affix">
                <h5>In This Article</h5>
                <div></div>
              </nav>
            </div>
          </div>
        </div>
      </div>
      
      <footer>
        <div class="grad-bottom"></div>
        <div class="footer">
          <div class="container">
            <span class="pull-right">
              <a href="#top">Back to top</a>
            </span>
            
            <span>Generated by <strong>DocFX</strong></span>
          </div>
        </div>
      </footer>
    </div>
    
    <script type="text/javascript" src="../styles/docfx.vendor.js"></script>
    <script type="text/javascript" src="../styles/docfx.js"></script>
    <script type="text/javascript" src="../styles/main.js"></script>
  </body>
</html>
